package com.ruoyi.web.service;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.web.domain.query.BhPlansPageQuery;
import com.ruoyi.web.domain.query.CreatePlanQuery;
import com.ruoyi.web.domain.query.ExecutePlanQuery;
import com.ruoyi.web.domain.query.PunchCardQuery;
import com.ruoyi.web.domain.vo.AppPlanDetailVO;
import com.ruoyi.web.domain.vo.BhPlansPageVO;

import java.util.List;

public interface BhPlansService {
    TableDataInfo<BhPlansPageVO> getPlanPage(BhPlansPageQuery bhPlansPageQuery, PageQuery pageQuery,boolean needTrans);

    R<Void> createPlan(CreatePlanQuery createPlanQuery);

    R<BhPlansPageVO> getPlanDetail(Integer id);

    R<Void> delPlan(Integer id);

    R<Void> modPlan(CreatePlanQuery modPlanQuery);

    R<Void> punchCard(PunchCardQuery punchCardQuery);

    R<List<AppPlanDetailVO>> getAppPlanList(Integer id);

    R<Void> executePlan(ExecutePlanQuery executePlanQuery);

    R<Integer> getPlanNum();
}
